package com.jwsoft.manager.core.integration;

import com.bifang.assistant.common.vo.BaseVO;
import com.github.pagehelper.PageInfo;
import com.jwsoft.manager.common.vo.eduBreakThrough.EduBreakThroughKeyVO;
import com.jwsoft.manager.common.vo.eduBreakThrough.EduBreakThroughQueryVO;
import com.jwsoft.manager.common.vo.eduBreakThrough.EduBreakThroughVO;
import com.jwsoft.manager.common.vo.eduBreakThroughDetail.EduBreakThroughDetailKeyVO;
import com.jwsoft.manager.common.vo.eduBreakThroughDetail.EduBreakThroughDetailQueryVO;
import com.jwsoft.manager.common.vo.eduBreakThroughDetail.EduBreakThroughDetailVO;
import com.jwsoft.manager.core.dao.model.EduBreakThroughDetail;

/**
 * 突破学区管理业务本地接口
 *
 * @author chenzh
 * @since 2023-06-08
 */
public interface EduBreakThroughIntegration {
    /**
     * 分页查询
     */
    PageInfo<EduBreakThroughVO> getList(EduBreakThroughQueryVO vo);

    /**
     * 根据主键查询详情
     */
    EduBreakThroughVO getById(EduBreakThroughKeyVO vo);

    /**
     * 保存前统一校验
     */
    void checkSave(EduBreakThroughVO vo);

    /**
     * 新增
     */
    EduBreakThroughVO add(EduBreakThroughVO vo);

    /**
     * 修改
     */
    EduBreakThroughVO edit(EduBreakThroughVO vo);

    /**
     * 根据主键删除
     */
    void del(EduBreakThroughKeyVO vo);

    /**
     * 突破学区关联学校查询
     */
    PageInfo<EduBreakThroughDetailVO> getBreakSchoolQuery(EduBreakThroughDetailQueryVO vo);

    /**
     * 根据主键删除明细
     */
    void delDetail(EduBreakThroughDetailKeyVO vo);

    /**
     * 新增明细
     */
    EduBreakThroughDetailVO addDetail(EduBreakThroughDetailVO vo);

    /**
     * 复制上年数据
     */
    void init(BaseVO vo);
}
